package com.ft.oa.domain.dev;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.io.Serializable;

/**
 * (WeeklyReport)实体类
 *
 * @author
 * @since 2022-01-17 17:18:22
 */
@Data
@TableName(value = "weekly_report")
public class WeeklyReport{
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 研发任务ID
     */
    private Long devTaskId;

    /**
     * 研发任务名称
     */
    private String devTaskName;
    /**
     * 研发问题ID
     */
    private Long devProblemId;

    /**
     * 研发问题名称
     */
    private String devProblemName;
    /**
     * 研发任务ID
     */
    private Long devAllocateId;

    /**
     * 研发任务名称
     */
    private String devAllocateName;
    /**
     * 本周周报
     */
    private String weeklyReport;
    /**
     * 下周计划
     */
    private String nextPlan;
    /**
     * 待解决问题
     */
    private String problem;
    /**
     * 创建时间
     */
    private Date createDate;
    /**
     * 创建人
     */
    private Long createStaffId;
    /**
     * 月周表主键ID
     */
    private Long weeklyInfoId;
    /**
     * 记录附件ID
     */
    private Long fileId;
    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;
    /**
     * 填写周报时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    private Date fillingDate;
    /**
     * 结束时间
     */
    private Date endDate;
    /**
     * 类型
     * 0-日报
     * 1-周报
     */
    private String type;

    /**
     * 创建人姓名
     */
    private String createStaff;

    /**
     * 0删除，1有效
     */
    private Integer state;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 当前周所对应的周期
     */
    private String cycleDate;

    /**
     * 立项项目id
     */
    private Long projectId;

    /**
     * 立项项目名称
     */
    private String projectName;

    /**
     * 立项项目编码
     */
    private String projectNumber;

    /**
     * 这个月有几周
     */
    private Integer weeks;

    /**
     * 填写时间是这个月的第几周
     */
    private Integer currentWeek;

    /**
     * 填写日期所在年
     */
    private String currentYear;

    /**
     * 填写日期所在月
     */
    private String currentMonth;

    /**
     *
     *周报日报类型：0：项目立项，1：研发项目，2：任务，3：问题
     */
    private Integer reportType;
    /**
     * 页数
     */
    @TableField(exist = false)
    private int page;

    /**
     * 每页条数
     */
    @TableField(exist = false)
    private int size;
}

